본 게시글의 원문은 Yann Debray의 MATLAB with Python Book 입니다. 해당 책은 MIT 라이센스를 따르기 때문에 개인적으로 번역하여 재배포 합니다. 본 포스팅에는 추후 유료 수익을 위한 광고가 부착될 수도 있습니다.

MIT License

Copyright (c) 2023 Yann Debray

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

본 게시물에서 활용된 소스 코드들은 모두 Yann Debray의 GitHub Repo에서 확인할 수 있습니다.

2.3. MATLAB 함수 세트에서 Python 패키지 생성하기

이를 위해서는 MATLAB Compiler SDK라는 전용 툴박스를 사용해야 합니다. 앱 리본에서 라이브러리 컴파일러를 선택하거나 명령 창에 libraryCompiler를 입력할 수 있습니다:

Graphical user interface Library Compiler

원하는 MATLAB 함수를 선택하여 이를 Python 함수로 변환할 수 있습니다. 의존성은 자동으로 Python 패키지에 추가됩니다(이 경우, 대기질 모델, 도시 목록 및 전처리 함수).

이렇게 하면 필요한 파일을 패키징하고 Python 단계에 대한 지침을 포함한 setup.pyreadme.txt 파일이 생성됩니다. 생성된 패키지의 설정에 대한 자세한 내용은 6.1절을 참조하십시오.

그런 다음 패키지를 가져오고 초기화한 다음 다음과 같이 함수를 호출할 수 있습니다:

>>> import AirQual
>>> aq = AirQual.initialize()
>>> result = aq.predictAirQual()

작업을 마친 후 프로세스를 종료하여 마무리할 수 있습니다:

>>> aq.terminate()

더 나아가 MATLAB 기능을 웹 서비스로 공유하여 동시에 여러 사용자가 액세스할 수 있는 기능을 구현할 수 있습니다. 이 경우 MATLAB Production Server를 사용하여 로드 밸런싱을 할 수 있으며 MATLAB 코드는 RESTful API 또는 Python 클라이언트를 통해 액세스할 수 있습니다.